import itertools

# 定义命题变元
variables = ['P', 'Q', 'R', 'S', 'T']

# 生成所有可能的真值组合
truth_values = list(itertools.product([0, 1], repeat=len(variables)))

# 定义命题公式，这里以 ((P ∧ Q) ∨ (¬R ∧ S)) → T 为例
def proposition_formula(P, Q, R, S, T):
    return not ((P and Q) or (not R and S)) or T

# 生成真值表
print("P Q R S T | ((P ∧ Q) ∨ (¬R ∧ S)) → T")
for values in truth_values:
    P, Q, R, S, T = values
    result = proposition_formula(P, Q, R, S, T)
    print(f"{P} {Q} {R} {S} {T} | {int(result)}")